package org.japo.java.swing.igu;

import java.awt.Color;
import java.awt.Font;
import java.awt.HeadlessException;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import org.japo.java.swing.listeners.GEA;

public class IGU extends JFrame {

    //Instanciar variables
    private JTextField txfTexto;
    private JPanel pnlPrincipal;

    private final String FONT_TIPO = "Calibri";
    private final int FONT_EST = Font.PLAIN;
    private final int FONT_TAM = 40;

    //Panel principal
    public IGU() throws HeadlessException {
        iniciarComponentes();
    }

    private void iniciarComponentes() {

        //Panel principal
        pnlPrincipal = new JPanel();

        //Fuente de la etiqueta
        Font f = new Font(FONT_TIPO, FONT_EST, FONT_TAM);

//        GESTOR DE EVENTOS DE ACCION
        GEA gea = new GEA(this);

//        Etiqueta de prueba
//        lblPrueba = new JLabel();
//        lblPrueba.setFont(f);
//        lblPrueba.setText(" ");
//        lblPrueba.setHorizontalAlignment(JLabel.RIGHT);
//        pnlPrincipal.add(lblPrueba);
//        
        //Campo de texto 
        txfTexto = new JTextField(10);
        txfTexto.addActionListener(gea);
        txfTexto.setFont(f);
        txfTexto.setText("");
        txfTexto.setHorizontalAlignment(JLabel.CENTER);
        pnlPrincipal.add(txfTexto);

        // Ventana principal
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setTitle("Prueba de COLOR");
        setContentPane(pnlPrincipal);
        setResizable(false);
        setSize(400, 210);
        setLocationRelativeTo(null);
    }

    public void cambiarColor() {
        String texto = txfTexto.getText().toUpperCase();

        switch (texto) {
            case "ROJO":
                pnlPrincipal.setBackground(Color.RED);
                break;
            case "AMARILLO":
                pnlPrincipal.setBackground(Color.YELLOW);
                break;
            case "AZUL":
                pnlPrincipal.setBackground(Color.BLUE);
                break;
            case "NARANJA":
                pnlPrincipal.setBackground(Color.ORANGE);
                break;
            default:
                pnlPrincipal.setBackground(Color.BLACK);

        }

    }

}
